package com.first.orange.service;

import com.first.orange.beans.Cart;
import com.first.orange.beans.Orders;
import com.first.orange.beans.ShopAddress;

import java.util.List;

/**
 * Created on 2021/7/6.
 * <p>
 * Author: wuqilong
 * <p>
 * Description: 支付页面功能接口
 */
public interface PayService {

    /**
     * @return : boolean
     * @author : 武
     * @date : 2021/7/6
     * @description : 增加用户收货地址功能接口
     */
    boolean addShopAddress(ShopAddress shopAddress);

    /**
     * @author : 武
     * @date : 2021/7/6
     * @return : java.util.List<com.first.orange.beans.ShopAddress>
     * @description : 根据用户id查询用户所有的收货地址功能接口
     */
    List<ShopAddress> queryAllShopAddress(Integer userId);

    /**
     * @author : 武
     * @date : 2021/7/6
     * @return : boolean
     * @description : 删除用户收货地址功能接口
     */
    boolean delShopAddress(Integer shopId);

    /**
     * @author : 武
     * @date : 2021/7/6
     * @return : boolean
     * @description : 修改用户默认收货地址功能接口
     */
    boolean setDefaultTag1(Integer shopId);

    /**
     * @author : 武
     * @date : 2021/7/6
     * @return : boolean
     * @description : 修改用户默认收货地址功能接口
     */
    boolean setDefaultTag2(Integer shopId);

    /**
     * @author : 武
     * @date : 2021/7/6
     * @return : java.util.List<com.first.orange.beans.ShopAddress>
     * @description : 查询用户默认收货地址功能接口
     */
    List<ShopAddress> queryDefaultShopAddress(Integer shopId, Integer userId);

    /**
     * @author : 武
     * @date : 2021/7/7
     * @return : java.util.List<com.first.orange.beans.Cart>
     * @description : 查询已登录用户加入购物车且勾选的商品或者选择直接购买的商品功能接口
     */
    List<Cart> queryCart(Integer userId, Integer checked);

    /**
     * @author : 武
     * @date : 2021/7/7
     * @return : boolean
     * @description : 获取页面数据插入到订单表功能接口
     */
    boolean insOrders(List<Orders> orders);

    /**
     * @author : 武
     * @date : 2021/7/8
     * @return : boolean
     * @description : 删除购物车中已勾选的商品或者选择直接购买的商品功能接口
     */
    boolean delCart(Integer userId, Integer checked);

    /**
     * @author : 武
     * @date : 2021/7/9
     * @return : boolean
     * @description : 修改用户购买成功的商品库存功能接口
     */
    boolean updProductStock(Integer productId, Integer stock, Integer monthSales, Integer totalSales);
}
